#ifndef POINT_H_
#define POINT_H_
#include <iostream>
using namespace std;

class Point{
friend ostream& operator << (ostream& out, const Point& rhs);
private:
	int 	x;
	int 	y;
public:
	Point(int x = 0, int y = 0);
	//set get...
	int getX() const { return this->x; }
	int getY() const { return this->y; }
	void display() const ;
};

class Figure{
public:
	virtual void onDraw() = 0;
};

class Circle : public Figure{
private:
	Point 	center;
	int 	radius;
public:
	Circle(const Point& center, int radius);
	void onDraw();
};

class Triange : public Figure{
private:
	Point p1;
	Point p2;
	Point p3;
public:
	Triange(const Point& p1, const Point& p2, const Point& p3);
	void onDraw();
};






#endif
